The present invention relates generally to the field of network traffic analysis, and more particularly to controlling traffic flows through a network.
A communication protocol is a system of rules that define a method for transmitting information between or among two or more entities. These rules may cover aspects of communication such as syntax, semantics, sequencing, synchronization, routing, and/or error recovery. Protocols are often designed to be stacked on top of each other in layers, breaking up the tasks of information transmission into simpler, cooperative modular components having distinct responsibilities that together make up a protocol family, or protocol suite. Two well-known protocol suites are X.25 (a protocol suite for packet-switched wide area network (WAN) communications) and the Internet protocol suite (often referred to as “TCP/IP” for the most commonly used protocols it contains).
Components at a given layer within a protocol suite may form a functional class or group, such that a particular component from each group may be selected to create a complete protocol stack designed to achieve the overall information transfer objectives for a specific need. For example, a protocol stack may consist of Hypertext Transfer Protocol (HTTP) stacked on Transmission Control Protocol (TCP) stacked on Internet Protocol (IP) stacked on Ethernet, and such a stack may serve to reliably transmit web pages from one computer to another within a local area network (LAN) environment. Alternatively, a protocol stack that includes Voice over IP (VoIP) on top of User Datagram Protocol (UDP) on top of Internet Protocol (IP) on top of Ethernet may be used for intra-office telephone communication.
Many types of communication protocols are known, and may be classified in any number of ways, including the media over which they function (copper wire, fiber-optic cable, wireless, and so on), the responsibilities they manage (error correction, flow control, routing, sequencing, and so on), the data types they carry (voice, video, text, and so on), the protocol suite they belong to (X.25, TCP/IP, and so on), the network layer or layers to which they correspond, and/or their popularity of use, to name a few.